import axios from "axios";
import md5 from "md5";
import { ElMessage } from "element-plus";
const instance = axios.create({
  baseURL: "https://api.imooc-admin.lgdsunday.club/api",
  timeout: 4000,
});

function getTestICode() {
  const now = parseInt(Date.now() / 1000);
  // const code = now + 'LGD_Sunday-1991'
  const code = now + "LGD_Sunday-1991-12-30";
  return {
    icode: md5(code),
    time: now,
  };
}
// 添加请求拦截器
instance.interceptors.request.use(
  function (config) {
    // 获取并添加时间戳 和 code到请求头中，不然登录不了
    const { icode, time } = getTestICode();
    config.headers.icode = icode;
    config.headers.codeType = time;
    return config;
  },
  function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// 添加响应拦截器
instance.interceptors.response.use(
  function (res) {
    if (res.data.success) {
      ElMessage.success(res.data.message);
    } else {
      ElMessage.error(res.data.message);
    }
    return res.data;
  },
  function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
  }
);

export default instance;
